/************************************************************************
Copyright (c) 2010, 2013, C.R. All rights reserved. 

E-mail: crtoyou@gmail.com; crtoyou@163.com

You can redistribute it and/or modify it under the terms of the
GNU Lesser General Public License as published by the
Free Software Foundation version 3 of the License.

This source code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. if not, write to the Free Software Foundation, Inc., 
51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
************************************************************************/

#ifndef __CR_MATH_EXT_H__
#define __CR_MATH_EXT_H__

#include <math.h>
#include <crdebug.h>

namespace cr {

	inline long round(double x)
	{
		ASSERT(x - 0.5 >= (double)LONG_MIN);
		ASSERT(x + 0.5 <= (double)LONG_MAX);
		return (long)(floor(x + 0.5)+0.1);
	}

} //namespace

#endif //__CR_MATH_EXT_H__
